//
//  14. 最长公共前缀.swift
//  手撕代码
//
//  Created by xiaoZuDeMeng on 2024/2/8.
//

import Foundation

//https://leetcode.cn/problems/longest-common-prefix
//编写一个函数来查找字符串数组中的最长公共前缀。
//
//如果不存在公共前缀，返回空字符串 ""。
//
//
//
//示例 1：
//
//输入：strs = ["flower","flow","flight"]
//输出："fl"
//示例 2：
//
//输入：strs = ["dog","racecar","car"]
//输出：""
//解释：输入不存在公共前缀。
//
//
//提示：
//
//1 <= strs.length <= 200
//0 <= strs[i].length <= 200
//strs[i] 仅由小写英文字母组成

func 最长公共前缀(_ strs: [String]) -> String {
    var result = ""
    if strs.count > 0 {
        if let firstObjc = strs.first {
            if strs.count > 1 {
                let numbers = strs.sorted()
                let first = numbers.first!
                let last = numbers.last!
                let lastArray = Array(last)
                for (index, firstChar) in first.enumerated() {
                    if lastArray[index] != firstChar {
                        return result
                    }
                    result += String(firstChar)
                }
            } else {
                result = firstObjc
            }
        }
    }
    return result
}
